// libB.c
#include <stdio.h>
#include <dlfcn.h>

void bar() {
    void *libA_handle = dlopen("libA.so", RTLD_LOCAL | RTLD_NOW);
    if (libA_handle) {
        void (*foo_ptr)() = dlsym(libA_handle, "foo");
        if (foo_ptr) {
            foo_ptr();
        } else {
            printf("无法找到 libA 中的 foo 函数\n");
        }
        dlclose(libA_handle);
    } else {
        printf("无法打开 libA\n");
    }
}
